package com.hwua.client;

import android.app.Activity;
import android.app.Dialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

import com.hwua.client.util.DialogUtil;
import com.hwua.client.util.HttpUtil;

import org.json.JSONObject;

import java.util.HashMap;
import java.util.Map;

/**
 * 登录
 */
public class LoginActivity extends Activity {

    //定义界面中的两个文本框
    private EditText etName,etPass;

    //定义界面中的两个按钮
    private Button bnLogin,bnCancel;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);

        //账号输入框对象
        etName= (EditText) findViewById(R.id.userEditText);
        //密码框对象
        etPass=(EditText)findViewById(R.id.pwdEditText);

        //登录按钮对象
        bnLogin=(Button)findViewById(R.id.bnLogin);
        //取消按钮
        bnCancel=(Button)findViewById(R.id.bnCancel);
        //给取消按钮绑定事件监听器
        bnCancel.setOnClickListener(new HomeListener(this));

        //给登录按钮绑定事件监听器
        bnLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                //执行输入校验
                if(validate()){

                    if(loginPro()){//服务端验证登录成功的话
                        //启动主界面
                        Intent intent=new Intent(LoginActivity.this,AuctionClientActivity.class);
                        startActivity(intent);//跳转主界面
                        //结束登录的Activity
                        finish();
                    }else{
                        DialogUtil.showDialog(LoginActivity.this,"用户名或者密码错误，请重新输入！",false);
                    }
                }
            }
        });

    }

    /**
     * 收集登录信息并发送给服务端
     * @return
     */
    private boolean loginPro() {
        //获取用户输入的用户名、密码
        String userName=etName.getText().toString().trim();
        String userPass=etPass.getText().toString().trim();
        JSONObject jsonObj;
        try {
            jsonObj = query(userName,userPass);
            if(jsonObj.getInt("status")==1){//登录成功
                return true;
            }
            //status等于1
        }catch (Exception e){
            DialogUtil.showDialog(this,"服务器响应异常，请稍后再试！",false);
            e.printStackTrace();
        }

        return false;
    }

    /**
     * 定义发送请求的方法
     * @param userName 用户名
     * @param userPass 密码
     * @return
     * @throws Exception
     */
    private JSONObject query(String userName,String userPass) throws Exception{
        Map<String ,String> map=new HashMap<String ,String>();
        map.put("userName",userName);
        map.put("userPass",userPass);

        //定义发送请求的URL
        String url= HttpUtil.BASE_URL+"ajaxLogin.action";
        //发送请求
        String result = HttpUtil.postRequest(url, map);
        return new JSONObject(result);//返回JSON对象
    }

    /**
     * 对用户输入的用户名、密码进行校验
     * @return
     */
    private boolean validate(){

        String userName=etName.getText().toString().trim();
        if(userName.equals("")){
            DialogUtil.showDialog(this,"用户账户是必填项！",false);
            return false;
        }

        String userPass=etPass.getText().toString().trim();
        if(userPass.equals("")){
            DialogUtil.showDialog(this,"用户口令是必填项！",false);
            return false;
        }

        return true;
    }
}
